]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
st: Trigger theme updates on resolution changes
authorFlorian Müllner <fmuellner@gnome.org>
Tue, 12 Jun 2012 20:18:10 +0000 (22:18 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Tue, 12 Jun 2012 20:40:59 +0000 (22:40 +0200)
Commit de8a66d4ce5 removed our own DPI handling for the one found
it Clutter, but broke resolution updates at runtime (for instance
when setting the "Large Text" option in Universal Access).

https://bugzilla.gnome.org/show_bug.cgi?id=677975

src/st/st-theme-context.c

index a73679eb503782522457e0c56e6b32fa138b79f2..7b2a304f6bb872d5b208d93dbd98a6bb2bb72549 100644 (file)
@@ -52,6 +52,7 @@ G_DEFINE_TYPE (StThemeContext, st_theme_context, G_TYPE_OBJECT)
 
 static void on_icon_theme_changed (StTextureCache *cache,
                                    StThemeContext *context);
+static void st_theme_context_changed (StThemeContext *context);
 
 static void
 st_theme_context_finalize (GObject *object)
@@ -61,6 +62,9 @@ st_theme_context_finalize (GObject *object)
   g_signal_handlers_disconnect_by_func (st_texture_cache_get_default (),
                                        (gpointer) on_icon_theme_changed,
                                        context);
+  g_signal_handlers_disconnect_by_func (clutter_get_default_backend (),
+                                        (gpointer) st_theme_context_changed,
+                                        context);
 
   if (context->root_node)
     g_object_unref (context->root_node);
@@ -97,6 +101,10 @@ st_theme_context_init (StThemeContext *context)
                     "icon-theme-changed",
                     G_CALLBACK (on_icon_theme_changed),
                     context);
+  g_signal_connect_swapped (clutter_get_default_backend (),
+                            "resolution-changed",
+                            G_CALLBACK (st_theme_context_changed),
+                            context);
 }
 
 /**